1. Field of the Invention
The present invention relates to methods and apparatus for recovering original signal information or content by processing multiple measurements of a set of mixed signals. More specifically, the invention relates to adaptive systems for recovering several original signals from received measurements of their mixtures.
2. Discussion of Related Art
The recovery and separation of independent sources is a classic but difficult signal processing problem. The problem is complicated by the fact that in many practical situations, many relevant characteristics of both the signal sources and the mixing media are unknown.
To best understand the problem, the following problem statement is helpful: With reference to FIG. 1 of the drawings, consider N independent signals 102, s1(t), . . . , and sN(t). Independent signals 102 may represent any of, or a combination of, independent speakers or speeches, sounds, music, radio-based or light based wireless transmissions, electronic or optic communication signal, still images, videos, etc. Independent signals 102 may be delayed and superimposed with one another by means of natural or synthetic mixing in the medium or environment 104 through which they propagate. A signal separation process 106 transforms the mixture of independent signals 102 into output signals 108, u1(t), . . . , and uN(t).
Two main categories of methods are often used for the recovery and separation of independent sources: neurally inspired adaptive algorithms and conventional discrete signal processing.
Neurally inspired adaptive architectures and algorithms follow a method originally proposed by J. Herault and C. Jutten, now called the Herault-Jutten (or HJ) algorithm. The suitability of this set of methods for CMOS integration have been recognized. However, the standard HJ algorithm is at best heuristic with suggested adaptation laws that have been shown to work mainly in special circumstances. The theory and analysis of prior work pertaining to the HJ algorithm are still not sufficient to support or guarantee the success encountered in experimental simulations. Herault and Jutten recognize these analytical deficiencies and they describe additional problems to be solved. Their proposed algorithm assumes a linear medium and no filtering or no delays. Specifically, the original signals are assumed to be transferred by the medium via a matrix of unknown but constant coefficients. To summarize, the Herault-Jutten method (i) is restricted to the full rank and linear static mixing environments, (ii) requires matrix inversion operations, and (iii) does not take into account the presence of signal delays. In many practical applications, however, filtering and relative signals delay so occur. Accordingly, previous work fails to successfully separate signals in many practical situations and real world applications.
Conventional signal processing approaches to signal separation originate mostly in the discrete domain in the spirit of traditional digital signal processing methods and use the statistical properties of signals. Such signal separation methods employ computations that involve mostly discrete signal transforms and filter/transform function inversion. Statistical properties of the signals in the form of a set of cumulants are used to achieve separation of mixed signals where correlation of these cumulants are mathematically forced to approach zero. This constitutes the crux of the family of algorithms that search for the parameters of transfer functions that recover and separate the signals from one another. Calculating all possible cumulants, on the other hand, would be impractical and too time consuming for real time implementation.
Conventional signal processing approaches to signal separation originate mostly in the discrete domain in the spirit of traditional digital signal processing methods and use the statistical properties of signals. Such signal separation methods employ computations that involve mostly discrete signal transforms and filter/transform function inversion. Statistical properties of the signals in the form of a set of cumulants are used to achieve separation of mixed signals where these cumulants are mathematically forced to approach zero. This constitutes the crux of the family of algorithms that search for the parameters of transfer functions that recover and separate the signals from one another. Calculating all possible cumulants, on the other hand, would be impractical and too time consuming for real time implementation.
The specifics of these two methods are elaborated on below.
These sets of neurally inspired adaptive approaches to signal separation assume that the xe2x80x9cstatistically independentxe2x80x9d signal vector S(t)=[s1(t), . . . , and sN(t)]T is mixed to produce the signal vector M(t). The vector M(t) is received by the sensors (e.g. microphones, antenna, etc.).
Let the mixing environment be represented by the general (static or dynamic) operator xcfx84. Then,
M(t)=xcfx84(S(t)xe2x80x83xe2x80x83Equation (1)
There are several formulations that can be used to invert the mixing process, i.e. operator xcfx84, in a xe2x80x9cblindxe2x80x9d fashion where no a priori knowledge exists as to the nature or content of the mixing operator xcfx84 or the original sources S(t). We group these into two categories, static and dynamic. Additional distinctions can be made as to the nature of the employed adaptation criteria, e.g. information maximization, minimization of high order cumulants, etc.
The static case. The static case is limited to mixing by a constant nonsingular matrix. Let us assume that the xe2x80x9cstatistically independentxe2x80x9d signal vector S(t)=[s1(t), . . . , and sN(t)]T is mixed to produce the signal vector M(t). Specifically, let the mixing operator xcfx84 be represented by a constant matrix A, namely
M(t)=AS(t)xe2x80x83xe2x80x83Equation (2)
FIGS. 2A and 2B show two architectures of the signal separation and recovery network in case of static mixing by a mixing matrix A. U(t) is the output which approximates the original source signals S(t). Y(t) contains the values that are used in updating the parameters of the unmixing process, i.e., W in FIG. 2A and D in FIG. 2B. The architecture in FIG. 2A necessarily computes the inverse of the constant mixing matrix A, which requires that A is invertible, i.e. Axe2x88x921 exists. The Architecture of FIG. 2B does not impose the restriction in that upon convergence of off diagonal elements of the matrix D are exactly those of off diagonal elements of the matrix A. In this case, however, diagonal elements of the matrix A are restricted to equal xe2x80x9c1.0.xe2x80x9d By setting the elements of D to zero, one essentially concludes that the mixing process may be invertible even if the mixing matrix is not. A shown in FIGS. 2A and 2B, the weight update utilizes a function of the output U(t). The update of the entries of these tow matrices is defined by the criteria used for signal separation, discrimination or recovery, e.g., information maximization, minimization of higher order cumulants, etc.
As an example, one possible weight update rule for the case where
U(t)=WM(t)xe2x80x83xe2x80x83Equation (3)
could be                                           w            .                    ij                =                              η            ⁡                          [                                                W                                      -                    T                                                  +                                                                                                    g                        xe2x80x3                                            ⁡                                              (                        u                        )                                                                                                            g                        xe2x80x2                                            ⁡                                              (                        u                        )                                                                              ⁢                                      M                    T                                                              ]                                ij                                    Equation  (4)            
where xcex7 is sufficiently small, g is an odd function, and M is the set of mixtures, U is the set of outputs which estimate the source signals, subscript T denotes transpose, and xe2x88x92T denotes inverse of transpose. Note that the function g plays an additional role in the update which can be related to the above, diagram as
Y(t)=g(U(t))xe2x80x83xe2x80x83Equation (5)
One uses Equation (4) to update the entries of W in Equation (3). Through this iterative update procedure, the entries of W converge so that the product WA is nearly equal to the identity matrix or a permutation of the identity matrix.
On the other hand, in FIG. 2B, one potentially useful rule for the update of the D matrix entries dij is generically described as
{dot over (d)}ij=xcex7f(ui,(t))g(uj(t))xe2x80x83xe2x80x83Equation (6)
where xcex7 is sufficiently small. In practice some useful functions for f include a cubic function, and for g include a hyperbolic tangent function. When using this procedure, one computationally solves for U(t) from Equation (7) below
U(t)=[I+D]xe2x88x921M(t)xe2x80x83xe2x80x83Equation (7)
at each successive step and sample point. This computation is a potentially heavy burden, especially for high dimensional D.
The dynamic case. The dynamic mixing model accounts for more realistic mixing environments, defines such environment models and develops an update law to recover the original signals within this framework.
In the dynamic case, the matrix A is no longer a constant matrix. In reference to the feedback structure of the static example, it is simpler to view Equation (7) where U(t)=[I+D]xe2x88x921M(t) as an equation of the fast dynamic equation
xcfx84{dot over (U)}(t)=xe2x88x92U(t)xe2x88x92DU(t)+M(t)xe2x80x83xe2x80x83Equation (8)
This facilitates the computation by initializing the differential equation in Equation (8) from an arbitrary guess. It is important however to ensure the separation of time scales between Equations (8) and the update procedure like the one defined by Equation (6). This may be ensured by making xcex7 in Equation (6) and xcfx84 in Equation (8) sufficiently small.
If we assume the dimensionality of M(t) is N, a set of differential equations that define the dynamic signal separation algorithm can be written as                                                         τ              i                        ⁢                                          u                .                            i                                =                                    -                              u                i                                      -                                          ∑                                  j                  ≠                  i                                            ⁢                                                D                  ij                                ⁢                                  u                  i                                                      +                          m              i                                      ⁢                  
                ⁢                                            for              ⁢                              xe2x80x83                            ⁢              i                        =            1                    ,          …          ⁢                      xe2x80x83                    ,          N                                    Equation  (9)            
This enumerates N differential equations. In addition, the adaptation process for the entries of the matrix D can be defined by multiple criteria, e.g. the evaluation of functions f and g in Equation (6). FIG. 3 is a pictorial illustration of the dynamic model in feedback configuration. U(t) approximates S(t). The function g defines the criteria used for weight update of the feedback network.
Application of signal separation criteria for adaptation of parameters. Little has been outlined in the way of procedures for the application of adaptation criteria within the architectures defined thus far. Two implied procedures have been noted:
First is the application of the signal separation functions, adaptation procedures and criteria to arbitrary random points of dataxe2x80x94regardless of whether each of these points is practically and physically accessible or not. Thus, the adaptive separation procedure applies the adaptation functions and criteria to each element of the measured mixed signals individually and instantaneously, after which appropriate parameter updates are made.
The second type of procedure described in FIG. 2A uses Equation (3). In this case, the criteria is applied to the entire data set, or selected data points from the entire data set. Thus, the related adaptation process does not progress per sample, but utilizes the whole data set over which a constant, static mixing matrix is assumed to apply. Although this method is somewhat more robust than the first, it is essentially an offline method not suitable for real time signal separation. Furthermore, when the assumption of a static constant matrix is incorrect, the accuracy of the unmixing process suffers.
The representation of signal mixing and separation by transfer functions makes this approach a dynamic environment model and method.
A structure for separating two signals by processing two mixture measurements is illustrated in FIGS. 4A and 4B. FIGS. 4A and 4B show a conventional transfer function representation for a signal mixing and separation for a two signal system. The two signals U1 and U2 approximate S1 and S2. G inverts the mixing process modeled as H. Such a transfer function approach is neither practical nor extendible in the case of higher dimensional signals greater than two dimensions. Furthermore, the extension of the mixing environment to the transfer function domain has also eliminated the time domain nature of the signals. This also causes the exclusion of the initial conditions from the set of equations.
These architectures for the separation functions in the transfer function domain result in three serious shortfalls which are all impediments to the design and implementation of a practical method and apparatus. First, this formulation, as expressed, precludes the generalization of the separation procedure to higher dimensions, where the dimensionality of the problem exceeds two. In other words, a practical formalization of the separation method does not exist when there are more than two mixtures and two sources. One can illustrate this by direct reference to current methods, where matrix multiplication terms are written out, so that each scalar equation defines one of the entries of the resulting product matrix desired to be equal to zero. Since permutations of a diagonal matrix are also allowed, multiple sets of equations are created. For a two mixture problem, this results in two pairs (four total) of equations, each with two product terms. Beyond that the number of equations increases. To be precise the number of equations needed to describe the number of equations for a specific permutation of the N dimensional case is equal to (N2xe2x88x92N). For the two dimensional problem this value is 2.
Second, the inversion procedure for the transfer function is ad hoc and no recipe or teaching exists. The impact of dimensionality plays a crucial role in this. It is apparent from the method that the resulting architecture gives rise to networks requiring transfer components whose order is dependent on products of the transfer components of the mixing environment. Thus, one cannot design a network architecture with a fixed order.
Third, the initial conditions cannot be defined since the formulation is not in the time domain and cannot be initialized with arbitrary initial conditions. Hence, the method is not suitable for real time or on line signal separation.
What is needed is a method to separate mixed signals through media or channel wherein a high quality of signal separation is achieved. What is needed is a method to recover and separate mixed signals transmitted through various media wherein the separation of signals is of such high quality as to substantially increase (i) the signal carrying capacity of the medium or channel, (ii) the quality of the received signal, or (iii) both. The media or channels may include a combination of wires, cables, fiber optics, wireless radio or light based frequencies or bands, as well as a combination of solid, liquid, gas particles, or vacuum.
The present invention is directed toward a signal processing system for separating a plurality of input signals into a plurality of output signals. The input signals are composed of a mixture of a plurality of source signals that have been affected by a medium. The source signals are associated with a plurality of sources. The output signals estimate the source signals. The system comprises a plurality of sensors for detecting the input signals and a storage device for receiving and storing the input signals. The system also comprises an architecture processor for defining and computing a signal separation architecture, where the signal separation architecture defines a relationship between the input signals and the output signals, and the relationship has both constant parameters and time varying parameters. The system also comprises an update processor for computing a rate of change for each time varying parameter and the time varying parameters in response to the rate of change associated with each time varying parameter, and an output processor for computing the output signals based on the signal separation architecture, the constant parameters, and the time varying parameters.